home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 095 / rfix0424.arc / BULLET6 next >
Text File  |  1988-04-24  |  40KB  |  932 lines

  1.           ============= Reported Bugs/Problems ==============
  2.  
  3. NOTE :   These fixes "ARE" part of the  downloadable  files on this system.
  4.          They  are  provided  in  several  different  ways.
  5.  
  6.          RBBS-EXE.ARC contains a new copy of the affected .EXE file.
  7.  
  8.          RFIX-EXE.ARC also contains the fixed version of the .EXE file.
  9.  
  10.          RFIX0424.ARC contains .MRG files used to update the files in the
  11.                       RBBS-SRC.ARC  file distributed on 03/27/88. This file
  12.                       also contains a batch  file  to  automatically  apply
  13.                       these  .MRG  files and recompile and link to generate
  14.                       an updated RBBS-PC.EXE file.
  15.  
  16. CONVENTIONS:
  17.          The temporary fixes are assigned numbers that  correspond  to  the
  18.          month,  day, and order in which they were reported.  The fixes are
  19.          dated (if there are any) following the problem  description.   The
  20.          lines   of   source   code  that  are  changed/modified/added  are
  21.          designated by the comment beginning in column 70 of "' TFMMDD#".
  22.  
  23. To download this file, go to the file subsystem and download the file BULLET6
  24. with the command "d;bullet6;x".
  25.  
  26. Summary of the temporary fixes to date:
  27.  
  28. Executable       BASIC
  29.  Program     Source Code   DATE          Cryptic Description of Problem
  30. -----------  ----------- --------  --------------------------------------------
  31. RBBS-PC.EXE  CPC16-1A     03/27/88  Released at 16:00 PST
  32. RBBS-PC.EXE  CPC16-1A     03/27/88  Hang after QMXFER transfer         TF032701
  33. RECONFIG.EXE              03/30/88  Does convert .DEF file correctly   TF033001
  34. RBBS-SRC.ARC              03/30/88  Some copies had CPC15-1C source    TF033002
  35. RBBS-PC.EXE  RBBSSUB2.BAS 03/30/88  Missing char. during wordwrap      TF033003
  36. RBBS-PC.EXE  RBBS-PC.BAS  03/30/88  Error in PUI with invalid command  TF033004
  37. RBBS-PC.EXE  RBBS-PC.BAS  03/31/88  Local DOORS does not work properly TF033101
  38. RBBS-PC.EXE  RBBS-PC.BAS  03/31/88  ESC logon locks up system          TF033102
  39. RBBS-PC.EXE  RBBS-PC.BAS  03/31/88  Snoop not on for local password    TF033103
  40. RBBS-PC.EXE  RBBSSUB2.BAS 03/31/88  Autodownloading fails              TF033104
  41. RBBS-PC.EXE  RBBS-PC.BAS  03/31/88  Coding clarification no impact     TF033105
  42. RBBS-PC.EXE  RBBS-VAR.BAS 04/03/88  Only supports 51 sub-directories   TF040301
  43. RBBS-PC.EXE               04/08/88  Subboard's can have unique RCTTY   TF040801
  44. RBBS-DOC.ARC              04/12/88  Documentation prints double pages  TF041201
  45. RBBS-PC.EXE  RBBSSUB3.BAS 04/12/88  Graphics bulletins not displayed   TF041202
  46. RBBS-PC.EXE  RBBS-PC.BAS  04/12/88  Msg. read info. updated too often  TF041203
  47. RBBS-PC.EXE  (all)        04/12/88  CTS for flow control not working   TF041204
  48. RBBS-PC.EXE  RBBS-VAR.BAS 04/16/88  SYSOP MENU does not blink          TF041602
  49. RBBS-PC.EXE  RBBS-PC.BAS  04/16/88  Read commands not executed         TF041603
  50. RBBS-PC.EXE  RBBS-PC.BAS  04/17/88  Wrong commands listed when invalid TF041701
  51. RBBS-PC.EXE  RBBS-PC.BAS  04/17/88  PASSWRDS searched too often        TF041702
  52. RBBS-PC.EXE  RBBSSUB2.BAS 04/17/88  Not giving back time in answerit   TF041703
  53. RBBS-PC.EXE  RBBSSUB2.BAS 04/17/88  Get trash chars on modem downshift TF041704
  54. RBBS-PC.EXE  RBBSSUB2.BAS 04/18/88  Lose chars in msg, carry over      TF041801
  55. RBBS-PC.EXE  RBBS-PC.BAS  04/18/88  Not editing blanks right in msgs   TF041802
  56. RBBS-PC.EXE  RBBS-PC.BAS  04/18/88  Can't leave private reply          TF041803
  57. RBBS-PC.EXE  RBBSSUB2.BAS 04/19/88  Handle invalid upload categories   TF041901
  58. RBBS-PC.EXE  RBBSSUB3.BAS 04/20/88  Support Graphic/Color DIR files    TF042001
  59. RBBS-PC.EXE  RBBS-PC.BAS  04/21/88  Get highest user record only once  TF042101
  60. RBBS-PC.EXE  RBBSSUB3.BAS 04/23/01  Avoid Error 5 on bad user record   TF042301
  61. RBBS-PC.EXE  RBBS-PC.BAS  04/24/88  New version                        TF042401
  62. RBBS-PC.EXE  RBBSSUB2.BAS 04/24/88  Avoid Device I/O error on ARC's    TF042402
  63. RBBS-PC.EXE  RBBSSUB3.BAS 04/24/88  Correct code to allow BLED's use   TF042403
  64. ---------------------------------- TF032701 -----------------------------------
  65.  
  66. RBBS-PC.BAS  03/27/88  When compiling RBBS-PC using QuickBASIC 4.0 RBBS-PC
  67. RBBSSUB1.BAS           hangs when returning from QMXFER.
  68. RBBSSUB2.BAS
  69. RBBSSUB3.BAS
  70. RBBS-PC.EXE
  71.  
  72. There  is  no fix for this problem.  We are extremely aware of this problem
  73. and have reported it to both MicroSoft and  The  Forbin  Project.   So  far
  74. neither have been able to provide any fix.
  75.  
  76. If you must
  77.       1.  compile,
  78.       2.  use QuickBASIC 4.0, and
  79.       3.  SHELL
  80.  
  81.       then "DO NOT USE QMXFER"!
  82.  
  83. The  problem  appears  to  be  an  incompatability between QuickBASIC 4.0's
  84. handling of the SHELL process and the code generated by  the  TURBO  Pascal
  85. compiler   --   the   compiler   used    to    generate    QMXFER.     This
  86. problem can be avoided by EXITing to the external protocol driver QMXFER.
  87.  
  88. ---------------------------------- TF033001 -----------------------------------
  89.  
  90. RECONFIG.EXE  03/30/88 The RECONFIG program offered (in RBBS-UTL.ARC)  from
  91.                        4:00PM  PST  03/27/88 until 11:00PM PST 03/30/88 did
  92.                        not work  correctly.  RBBS-UTL.ARC  was  updated  at
  93.                        11:00PM   PST  03/30/88  to  contain  a  functioning
  94.                        version.
  95.  
  96. Fix:  Make sure the two files in RECONFIG.EXE are as follows:
  97.  
  98. Filename        Length   Method    Date      Time
  99. --------        ------   ------    ----      ----
  100. RECONFIG.DOC      2968  Crunched   03-03-88  12:58:10
  101. RECONFIG.EXE     63092  Squashed   03-29-88  22:39:30
  102.  
  103. ---------------------------------- TF033002 -----------------------------------
  104.  
  105. RBBS-SRC.ARC  03/30/88 The RBBS-SRC.ARC file available for  downloading  on
  106.                        Jon   Martin's   board   between 4:00pm PST 03/27/88
  107.                        until 11:00 PM PST 03/30/88 contained  the  CPC15-1C
  108.                        source code.
  109.  
  110. Fix:  Make sure the eight .BAS files in RBBS-SRC.ARC are as follows:
  111.  
  112. Filename        Length   Method    Date      Time
  113. --------        ------   ------    ----      ----
  114. CNFG-SUB.BAS     87168  Crunched   03-25-88  14:51:06
  115. CNFG-VAR.BAS     11392  Crunched   03-25-88  14:47:28
  116. CONFIG.BAS      170562  Crunched   03-26-88  15:46:12
  117. RBBS-PC.BAS     213760  Crunched   03-25-88  15:04:22
  118. RBBS-VAR.BAS     14976  Crunched   03-26-88  00:25:54
  119. RBBSSUB1.BAS     55040  Crunched   03-25-88  15:05:32
  120. RBBSSUB2.BAS    128000  Crunched   03-25-88  15:06:50
  121. RBBSSUB3.BAS    173696  Crunched   03-25-88  15:08:16
  122.  
  123. ---------------------------------- TF033003 -----------------------------------
  124.  
  125. RBBSSUB2.BAS  03/30/88 When  entering  a  message, sometimes a character will be
  126. RBBS-PC.EXE            dropped when wrapping the last  word  down  to  the  next
  127.                        line,  and  sometimes  a  character  will be dropped when
  128.                        typing fast.
  129.  
  130. Fix:  in TF041801
  131.  
  132. ---------------------------------- TF033004 -----------------------------------
  133.  
  134. RBBS-PC.BAS  03/30/88  When using the programmable user interface and an invalid
  135. RBBS-PC.EXE            command is entered, RBBS-PC displays the underlying
  136.                        symbols for valid commands rather than the symbols used
  137.                        in the PUI.
  138.  
  139. Fix:  in TF041701
  140.  
  141. ---------------------------------- TF033101 -----------------------------------
  142.  
  143. RBBS-PC.BAS  03/31/88  Local DOORS does not work properly.
  144. RBBS-PC.EXE
  145.  
  146. Change the following lines in RBBS-PC.BAS
  147.  
  148. 150 IF SUB.BOARD THEN _
  149.        GOSUB 12987 : _
  150.        GOSUB 5135 : _
  151.        GOTO 165
  152.     SYSOP.AVAILABLE = VAL(MID$(MESSAGE.RECORD$,32,2))
  153.     SYSOP.ANNOY = VAL(MID$(MESSAGE.RECORD$,34,2))
  154.     SYSOP.NEXT = VAL(MID$(MESSAGE.RECORD$,36,2))
  155.     PRINTER = VAL(MID$(MESSAGE.RECORD$,38,2))
  156.     IF TURN.PRINTER.OFF THEN _
  157.        PRINTER = FALSE
  158.     EXIT.TO.DOORS = VAL(MID$(MESSAGE.RECORD$,40,2))
  159.     EIGHT.BIT = VAL(MID$(MESSAGE.RECORD$,42,2))
  160.     BPS = VAL(MID$(MESSAGE.RECORD$,44,2))
  161.     SNOOP = VAL(MID$(MESSAGE.RECORD$,58,2))
  162.     MID$(MESSAGE.RECORD$,57,1) = "I"
  163.     PRIVATE.DOOR = VAL(MID$(MESSAGE.RECORD$,72,2))
  164.     MID$(MESSAGE.RECORD$,72,2) = STR$(FALSE)
  165.     LOCAL.USER = VAL(MID$(MESSAGE.RECORD$,101,2))                    ' TF033101
  166.     IF EXIT.TO.DOORS OR PRIVATE.DOOR THEN _
  167.        TURBO.LOGON = TRUE
  168.     PUT 1,NODE.RECORD.INDEX
  169.     GOSUB 12985
  170.  
  171. 175 GOSUB 5344
  172.     IF DIR.CATEGORY.FILE$ <> PREV.DIRCAT$ THEN _
  173.        PREV.DIRCAT$ = DIR.CATEGORY.FILE$ : _
  174.        CALL CTLINES (MAX.ENTRIES) : _
  175.        REDIM CATEGORY.NAME$(MAX.ENTRIES),CATEGORY.CODE$(MAX.ENTRIES),_
  176.              CATEGORY.DESC$(MAX.ENTRIES) : _
  177.        CALL INITFMS (CATEGORY.NAME$(),CATEGORY.CODE$(), _
  178.                      CATEGORY.DESC$(),NUM.CATEGORIES)
  179.     LOCAL.USER.MODE = (RIGHT$(COM.PORT$,1) < "1")
  180.     REMOTE.ECHO = (DEFAULT.ECHOER$ = "R" AND NOT LOCAL.USER.MODE)
  181.     CALL BRKFNAME (CALLERS.FILE$,DRV$,X$,Y$,TRUE)
  182.     NODE.WORK.FILE$ = DRV$ + _
  183.                       "NODE" + _
  184.                       NODE.ID$ + _
  185.                       "WRK.BAT"
  186.     SECONDS.PER.SESSION! = MINUTES.PER.SESSION! * 60
  187.     IF NOT LOCAL.USER.MODE THEN _                                    ' TF033101
  188.        IF NOT EXIT.TO.DOORS THEN _                                   ' TF033101
  189.           GOTO 180 _                                                 ' TF033101
  190.        ELSE IF NOT LOCAL.USER THEN _                                 ' TF033101
  191.                GOTO 180                                              ' TF033101
  192.     LOCAL.USER = TRUE
  193.     BPS = -7
  194.     BAUD.TEST = 19200
  195.     EIGHT.BIT = TRUE
  196.     SNOOP = TRUE
  197.     RECYCLE.TO.DOS = TRUE
  198.     IF EXIT.TO.DOORS THEN _
  199.        CALL AMORPM : _
  200.        CALL READPROF : _
  201.        GOTO 410
  202.     GOSUB 178
  203.     GOTO 345
  204.  
  205. 836 IF LOCAL.USER THEN _
  206.        TALK.TO.MODEM.AT$ = "19200" : _                               ' TF033101
  207.        BAUD.PARITY$ = "19200 BAUD,N,8,1" : _                         ' TF033101
  208.        SNOOP = TRUE : _
  209.        LINE.FEEDS = TRUE : _
  210.        A = INSTR(TRANSFER.OPTIONS$,CARRIAGE.RETURN$) : _
  211.        IF A > 0 THEN _
  212.           MID$(TRANSFER.OPTIONS$,A,1) = " "
  213.  
  214. ---------------------------------- TF033102 -----------------------------------
  215.  
  216. RBBS-PC.BAS  03/31/88  Error reports appear on SYSOP's screen that are
  217. RBBS-PC.EXE            perfectly normal:
  218.  
  219. Change line 13000 in RBBS-PC.BAS as follows:
  220.  
  221. 13000 IF DEBUG THEN _                                                ' TF033102
  222.          A$ = "RBBS-PC DEBUG Error Trap Entry ERL=" + _
  223.               STR$(EL) + _
  224.               " ERR=" + _
  225.               STR$(EC) : _
  226.               CALL PRINTIT(A$) : _
  227.               D$ = A$ : _
  228.               GOSUB 1315
  229.       IF EL = 1905 AND EC = 63 THEN _
  230.          CLOSE 1 : _
  231.          KILL ACTIVE.MESSAGE.FILE$ : _
  232.          GOTO 5350
  233.       IF EL = 4371 AND EC = 6 THEN _
  234.          GOTO 1200
  235.       IF EL =  4740 THEN _
  236.          GOTO 4745
  237.       IF EL =  5151 AND EC = 62 THEN _
  238.          CALL UPDTCALR (PASSWORDS.FILE$ + " bad format!",2) : _
  239.          GOTO 5160
  240.       IF EL =  7130 AND EC = 53 THEN _
  241.          GOTO 7260
  242.       IF EL = 20242 AND EC = 62 THEN _
  243.          CALL UPDTCALR (FILESEC.FILE$ + " bad format!",2) : _
  244.          GOTO 20247
  245.       IF EL = 20262 THEN _
  246.          A$ = "<Download aborted>" : _
  247.          DOWNLOAD.COMPLETED = FALSE : _
  248.          GOTO 20390
  249.       IF EL = 20452 AND EC = 53 THEN _
  250.          GOTO 20451
  251.       IF EL = 20560 AND EC = 67 THEN _
  252.          GOTO 20451
  253.       IF EL = 20560 AND EC = 70 THEN _
  254.          IF VAL(FREE.SPACE$) > 1999 THEN _
  255.             GOTO 20610 _
  256.          ELSE CALL QTPUT ("No room for uploads. Try tomorrow.",1) : _
  257.               GOTO 5160
  258.       IF EL = 20620 THEN _
  259.          GOTO 20670
  260.       IF EL = 20650 THEN _
  261.          GOTO 20670
  262.       IF EL = 20736 AND EC = 53 THEN _
  263.          GOTO 5160
  264.       IF EL = 20900 AND EC = 75 THEN _
  265.          GOTO 21230
  266.       IF EL = 20900 AND EC = 70 THEN _
  267.          CALL QTPUT ("No room for uploads. Try tomorrow.",1) : _
  268.          GOTO 21230
  269.       IF EL = 21131 THEN _
  270.          EC = 0 : _
  271.          GOTO 21230
  272.       IF EL = 21480 THEN _
  273.          CALL LOGERROR : _
  274.          IF EC = 57 THEN _
  275.             CALL QTPUT("Error reading file.  Aborting download",1) : _
  276.             DOWNLOAD.COMPLETED = FALSE : _
  277.             GOTO 21230
  278.  
  279. ---------------------------------- TF033103 -----------------------------------
  280.  
  281. RBBS-PC.BAS  03/31/88  Prompt for password for local SYSOP does not appear.
  282. RBBS-PC.EXE
  283.  
  284. Change line 822 in RBBS-PC.BAS as follows:
  285.  
  286. 822 LOCATE 24,1
  287.     CALL FINDTIME (USER.LOGON.TIME!)
  288.     CALL MODEMPUT (MODEM.GO.OFFHOOK.COMMAND$)
  289.     LOCAL.USER = TRUE
  290.     SNOOP = TRUE                                                     ' TF033103
  291.     WAIT.BEFORE.DISCONNECT = 32400
  292.     BPS = -7
  293.     CALL MUZAK (2)
  294.     IF LOCAL.PASSWORD$ = "NONE" THEN _
  295.        GOTO 828
  296.     D$ = "Enter PASSWORD (dots echo) "
  297.     GOSUB 1310
  298.     Z$ = ""
  299.     INKEYS.PRESSED = 0
  300.  
  301. ---------------------------------- TF033104 -----------------------------------
  302.  
  303. RBBSSUB2.BAS 03/31/88  Autodownload sends file name with a drive/path rather
  304. RBBS-PC.EXE            than just the file name.
  305.  
  306. Change 20296 in RBBSSUB2.bas as follows:
  307.  
  308. 20296 CALL FLUSHCOM(Y$)                  ' CLEAR THE COMM BUFFER OF GARBAGE
  309.       IF SUBROUTINE.PARAMETER = -1 THEN _
  310.          EXIT SUB
  311.       CALL PUTCOM (ESCAPE$+"OD")         ' SEND "ALERT" STRING
  312.       IF SUBROUTINE.PARAMETER = -1 THEN _
  313.          EXIT SUB
  314.       IF ABORT = TRUE THEN _
  315.          GOTO 20306
  316.       CALL LPRNT("Sending FILENAME -- ",1)
  317.       CALL LPRNT(RETURN.LINE.FEED$ + CHR$(9),0)
  318.       CALL DELAYIT (1)                   ' WAIT 1 SECOND FOR SETUP
  319. '
  320. '               SEND ONE CHARACTER AT A TIME
  321. '
  322.       CALL BRKFNAME (B$(DWN.INDEX),X$,A$,Y$,TRUE)                    ' TF033104
  323.       A$ = A$ + Y$ + "=X"                                            ' TF033104
  324.       FOR X = 1 TO LEN(A$)
  325.          CALL PUTCOM (MID$(A$,X,1))     ' SEND 1 CHARACTER
  326.          IF SUBROUTINE.PARAMETER = -1 THEN _
  327.             EXIT SUB
  328.          IF ABORT = TRUE THEN _
  329.             GOTO 20306
  330.          CALL LPRNT(MID$(A$,X,1),0)     ' DISPLAY IF NEEDED
  331.          IF TIMER < 86390! THEN _
  332.             DELAY! = TIMER + 10 _
  333.          ELSE DELAY! = TIMER - 86400! + 10 ' SET MAXIMUM TIME TO WAIT FOR REPLY
  334.          WHILE EOF(3)
  335.             IF TIMER > DELAY! THEN _
  336.                GOTO 20300     ' IF NO ECHO, CANCEL FILENAME TRANSFER
  337.          WEND                 ' JUMP OUT IF CHARACTER IS RECEIVED
  338.  
  339. ---------------------------------- TF033105 -----------------------------------
  340.  
  341. RBBS-PC.BAS  03/31/88  Coding clarification only.  No impact on program
  342. RBBS-PC.EXE            execution.
  343.  
  344. Change line 821 in RBBS-PC.BAS as follows:
  345.  
  346. 821 CALL TRIM (CI$)
  347.     IF PRIVATE.DOOR AND _
  348.        TRANSFER.FUNCTION = 3 THEN _
  349.        TRANSFER.FUNCTION = 0 : _
  350.        GOTO 832
  351.     IF REGISTRATION.PROGRAM$ = "NONE" OR _
  352.        REGISTRATION.PROGRAM$ = "" THEN _
  353.        GOTO 832
  354.     B$ = REGISTRATION.PROGRAM$                                       ' TF033105
  355.     TRANSFER.FUNCTION = 3                                            ' TF033105
  356.     CALL XFRETURN
  357.  
  358. ---------------------------------- TF040801 -----------------------------------
  359. RBBSSUB1.BAS 04/02/88  When a "subboard" is entered the parameters for the .BAT
  360.                        files to invoke (RCTTY.BAT and RBBS.BAT) can be different
  361.                        than the primary .DEF file that the "subboard" is running
  362.                        under.
  363.  
  364. Fix:  Always check using CONFIG to make sure that parameters 103 and 104 in the
  365.       .DEF files for each "subboard" match the ones in the main RBBS-PC .DEF
  366.       file -- at least 104 should be the same.  If 103 is different, make sure
  367.       the .BAT file that you are running RBBS-PC out of has the appropriate
  368.       number of IF statements to find the various files that are built by the
  369.       different "subboards" to invoke the "doors."
  370.  
  371. ---------------------------------- TF040301 -----------------------------------
  372. RBBS-VAR.BAS 04/02/88  Could only support 51 sub-directories when CPC15-1C
  373. RBBS-PC.EXE            supported 99.
  374.  
  375. Change this one line in RBBS-VAR.BAS: all other lines should stay the same!
  376.  
  377.     DIM SUBDIR$(99)                   ' Download Sub-Dirs 'NCR       ' TF040301
  378.  
  379. ---------------------------------- TF041201 -----------------------------------
  380.  
  381. RBBS-DOC.ARC 04/12/88  Got extra blank page when printed documentation, for
  382.                        every page.
  383.  
  384. Caused by putting in a formfeed and by Wordstar's filling in blank lines at
  385. bottom.   Solution is to delete at least one blank line at the bottom.
  386. Some versions of RBBS-DOC.ARC with the ".DK1" files dated 4/5/88 and times 20:46,
  387. 20:54, and 21:13 have had the page eject characters replaced with blanks --
  388. thus also bypassing the problem.
  389.  
  390. ---------------------------------- TF041202 -----------------------------------
  391. RBBSSUB3.BAS 04/12/88   Graphics bulletins are not being displayed.
  392. RBBS-PC.EXE
  393.  
  394. Change line 59530 in RBBSSUB3.BAS as follows:
  395.  
  396. 59530 Z$ = B$(ANS.INDEX)
  397.       CALL ALLCAPS (Z$)
  398.       IF INSTR(RETURN.ON$,Z$) THEN _  'check whether calling pgm wants
  399.          EXIT SUB
  400.       IF INSTR("LH?",Z$) THEN _       'check whether caller wants help
  401.          GOTO 59515
  402.       IF INSTR(Z$,".") > 0 THEN _
  403.          GOTO 59545
  404.       FILE.NAME$ = FRONT.OPT$ + _
  405.                    Z$
  406.       CALL BADFILE (FILE.NAME$,A)
  407.       IF A > 1 THEN _
  408.          GOTO 59547
  409.       FILE.NAME$ = FILE.NAME$ + _
  410.                    BACK.OPT$
  411.       CALL GRAPHIC (GR.DEFAULT$)                                     ' TF041202
  412.       IF OK THEN _
  413.          IF NOT REQUIRE.IN.MENU THEN _
  414.             EXIT SUB _
  415.          ELSE CALL WORDINFILE (CURRENT.MENU$,Z$,FOUND) : _
  416.               IF FOUND THEN _
  417.                  EXIT SUB _
  418.               ELSE GOTO 59540
  419.       IF NOT VERIFY.IN.MENU THEN _
  420.          GOTO 59540
  421.       CALL WORDINFILE (CURRENT.MENU$,Z$,FOUND)  'verify against menu itself
  422.       IF FOUND THEN _
  423.          IF ALL.MENU.OK THEN _
  424.             EXIT SUB
  425.  
  426. ---------------------------------- TF041203 -----------------------------------
  427.  
  428. RBBS-PC.BAS  04/12/88   Last date read updated every time a message is read.
  429. RBBS-PC.EXE             Should be updated only when the message is to the
  430.                         person reading it.  Also, msg should tell caller
  431.                         whether mail receiver or not.
  432.  
  433. Make the following changes RBBS-PC.BAS:
  434.  
  435. 4561   FF = INSTR(MID$(MESSAGE.RECORD$,X),LEFT$(ACTIVE.USER.NAME$,22))
  436.        IF FF > 0 THEN _
  437.           X = LEN(ACTIVE.USER.NAME$) + FF : _
  438.           IF (FF < 7 OR MID$(MESSAGE.RECORD$,FF - 1,1) = " ") AND (X > 58 OR MID$(MESSAGE.RECORD$,X,1) = " ") THEN _
  439.              UH = TRUE _
  440.           ELSE IF FF < 37 THEN _
  441.                   X = 37 : _
  442.                   GOTO 4561
  443.        MSG.TO.CALLER = (UH AND (FF = 37)) OR _                       ' TF041203
  444.                        (MID$(MESSAGE.RECORD$,37,5) = "ALL  ")        ' TF041203
  445.        MSG.FROM.CALLER = UH AND (FF = 6)                             ' TF041203
  446.  
  447. 8050 MESSAGE.FROM$ = MID$(MESSAGE.RECORD$,6,31)
  448.      CALL TRIM (MESSAGE.FROM$)
  449.      IF LEN(MESSAGE.FROM$) < 23 THEN _
  450.         MESSAGE.FROM$ = MESSAGE.FROM$ + _
  451.                         SPACE$(23 - LEN(MESSAGE.FROM$))
  452.      A$ = "Msg # " + _
  453.           LEFT$(MESSAGE.RECORD$,5) + _
  454.           " Dated " + _
  455.           MID$(MESSAGE.RECORD$,68,8) + _
  456.           " " + _
  457.           MID$(MESSAGE.RECORD$,59,8)
  458.      IF USER.SECURITY.LEVEL >= SEC.CHANGE.MSG THEN _
  459.         A$ = A$ + _
  460.              "  Security:" + _
  461.              STR$(MESSAGE.SECURITY)
  462.      IF NOT RET THEN _
  463.         IF READ.MESSAGES THEN _
  464.            CALL QTPUT (A$,1): _
  465.            CALL QTPUT (" From: " + MESSAGE.FROM$,1) : _
  466.            CALL QTPUT ("   To: " + MESSAGE.TO$,1) : _
  467.            A$ = "   Re: " + _
  468.                 SUBJECT$ _
  469.         ELSE A$ = LEFT$(MESSAGE.RECORD$,5) + _
  470.                   " " + _
  471.                   MID$(MESSAGE.RECORD$,68,8) + _
  472.                   " " + _
  473.                   LEFT$(MESSAGE.TO$,19) + _
  474.                   " " + _
  475.                   LEFT$(MESSAGE.FROM$,18) + _
  476.                   " " + _
  477.                   LEFT$(SUBJECT$,24) : _
  478.              GOTO 8080
  479.      IF QUICK.SCAN.MESSAGES OR _
  480.         SCAN.MESSAGES THEN _                                         ' TF041203
  481.            GOTO 8080                                                 ' TF041203
  482.      IF ((NOT SYSOP) AND NOT (MSG.FROM.CALLER)) THEN _               ' TF041203
  483.         GOTO 8077
  484.  
  485. 8076 IF MID$(MESSAGE.RECORD$,123,6) = STRING$(6,0) OR _
  486.         MID$(MESSAGE.RECORD$,123,6) = SPACE$(6) THEN _
  487.            A$ = A$ + " -Not Received-" : _                           ' TF041203
  488.            GOTO 8077                                                 ' TF041203
  489.      YY$ = RIGHT$(STR$(ASC(MID$(MESSAGE.RECORD$,126,1))),2) + _
  490.            ":" + _
  491.            RIGHT$(STR$(ASC(MID$(MESSAGE.RECORD$,127,1))),2) + _
  492.            ":" + _
  493.            RIGHT$(STR$(ASC(MID$(MESSAGE.RECORD$,128,1))),2)
  494.      FOR I = 1 TO 8
  495.         IF MID$(YY$,I,1) = " " THEN _
  496.            MID$(YY$,I,1) = "0"
  497.      NEXT
  498.      YY$ = YY$ + _
  499.            " on "
  500.      YY$ = YY$ + _
  501.            RIGHT$(STR$(ASC(MID$(MESSAGE.RECORD$,123,1))),2) + _
  502.            "/" + _
  503.            RIGHT$(STR$(ASC(MID$(MESSAGE.RECORD$,124,1))),2) + _
  504.            "/" + _
  505.            RIGHT$(STR$(ASC(MID$(MESSAGE.RECORD$,125,1))),2)
  506.      FOR I = 13 TO 20
  507.         IF MID$(YY$,I,1) = " " THEN _
  508.            MID$(YY$,I,1) = "0"
  509.      NEXT
  510.      A$ = A$ + _
  511.           " Received " + _                                           ' TF041203
  512.           YY$
  513.  
  514. 8077 IF MSG.FROM.CALLER OR (NOT MSG.TO.CALLER) THEN _                ' TF041203
  515.         GOTO 8080                                                    ' TF041203
  516.      YY$ = DATE$
  517.      WK$ = TIME$
  518.      MID$(MESSAGE.RECORD$,123,6) = CHR$(VAL(MID$(YY$,1,2))) + _
  519.                                    CHR$(VAL(MID$(YY$,4,2))) + _
  520.                                    CHR$(VAL(MID$(YY$,9,2))) + _
  521.                                    CHR$(VAL(MID$(WK$,1,2))) + _
  522.                                    CHR$(VAL(MID$(WK$,4,2))) + _
  523.                                    CHR$(VAL(MID$(WK$,7,2)))
  524.      GOSUB 12986
  525.      PUT 1,M(MESSAGE.DIM.INDEX,1)
  526.      GOSUB 12987
  527.  
  528. ---------------------------------- TF041204 -----------------------------------
  529. RBBS-PC.BAS  04/12/88   Using CTS for flow control just does not work.
  530. RBBSSUB1.BAS            Modem will signal not clear to send, but data sent
  531. RBBSSUB2.BAS            anyway.
  532. RBBSSUB3.BAS
  533. RBBS-PC.EXE
  534.  
  535. Problem is  caused  by  constant  re-reading  of  registers  to  check  carrier.
  536. Temporary fix is to use XON/XOFF for flow control, which does work.
  537.  
  538. ---------------------------------- TF041602 -----------------------------------
  539.  
  540. RBBS-VAR.BAS 04/16/88   Opening SYSOP screen does not blink even when specify
  541. RBBS-PC.EXE             in config that using ANSI.
  542.  
  543. Add the following variable to RBBS-VAR.BAS
  544.  
  545.         DOSANSI, _                                                   ' TF041602
  546.  
  547. ---------------------------------- TF041603 -----------------------------------
  548.  
  549. RBBS-PC.BAS  04/16/88    RBBS-PC returns straight to prompt when R)ead
  550. RBBS-PC.EXE              specified.
  551.  
  552. Caused  when  earlier  processing  left  a  large  numeric value in second input
  553. positon.  Typically happens when using FMS, have  short  list  of  files,  press
  554. ENTER to quit, then R)ead.
  555.  
  556. Change RBBS-PC.BAS as follows:
  557.  
  558. 4371 IF MESSAGES.SELECTED.INDEX <= NUMBER.MESSAGES.SELECTED THEN _   ' TF041603
  559.         CALL CHECKINT (B$(MESSAGES.SELECTED.INDEX)) : _              ' TF041603
  560.         IF EC <> 0 THEN _                                            ' TF041603
  561.            EL = 4371 : _                                             ' TF041603
  562.            GOTO 13000 _                                              ' TF041603
  563.         ELSE CURRENT.MESSAGE = TESTED.INTEGER.VALUE : _              ' TF041603
  564.              GOTO 4415                                               ' TF041603
  565.  
  566. ---------------------------------- TF041701 -----------------------------------
  567. RBBS-PC.BAS  04/17/88   When unknown command typed, RBBS-PC will list
  568. RBBS-PC.EXE             the underlying letters for commands rather
  569.                         than the ones the user should use.
  570.  
  571. No longer list any letters at all.  Just tell unknown and echo.
  572. Make the following change to RBBS-PC.BAS.
  573.  
  574. 1235 Z$ = B$(1)
  575.      IF LEN(Z$) < 1 THEN _
  576.         GOTO 1230
  577.      CALL ALLCAPS (Z$)
  578.      CALL SRCHCMND (SUB.SECTION,FF)
  579.      IF FF < 1 THEN _
  580.         CALL QTPUT ("Unknown command <"+Z$+">",1) : _                ' TF041701
  581.         GOTO 1230
  582.  
  583. Delete line 1305 and make 1300 as follows:
  584.  
  585. 1300 CALL QTPUT ("Message base " + GRN$,1)
  586.      RETURN
  587. ' ***************************************************************************** ' TF041701
  588. ' * COMMON LOCAL DISPLAY PRINT                                                * ' TF041701
  589. ' ***************************************************************************** ' TF041701
  590.  
  591. ---------------------------------- TF041702 -----------------------------------
  592.  
  593. RBBS-PC.BAS  04/17/88   PASSWRDS file was being searched every time a
  594. RBBS-PC.EXE             questionnaire was answered.   Should have been
  595.                         searched only when security was adjusted.
  596.  
  597. Delete a line as follows in RBBS-PC.BAS:
  598.  
  599. 11520 QUESTIONNAIRE.ABORTED = FALSE
  600.       CALL FINDIT (FILE.NAME$)
  601.       IF NOT OK THEN _
  602.          RETURN
  603.       REDIM A$(256)
  604.       CALL ASKUSERS
  605.       IF ADJUSTED.SECURITY THEN _
  606.          GOSUB 12989 : _
  607.          LSET SECURITY.LEVEL$ = MKI$(USER.SECURITY.LEVEL) : _
  608.          GOSUB 9440 : _
  609.          GOSUB 12991 : _
  610.          CALL CALLOPT : _
  611.          GOSUB 5135
  612.       REDIM A$(ADIM)
  613.       IF SUBROUTINE.PARAMETER = -1 THEN _
  614.          RETURN 10595                                                ' TF041702
  615.       RETURN
  616. '
  617. ' *****************************************************************************
  618. ' *  A - COMMAND FROM 5- USER MAINTENANCE OPTIONS (ADD USER)                  *
  619. ' *****************************************************************************
  620. '
  621.  
  622. ---------------------------------- TF041703 -----------------------------------
  623.  
  624. RBBSSUB2.BAS 04/17/88   Doubledos and Deskview not getting cpu cycles back
  625. RBBS-PC.EXE             when RBBS-PC waiting to answer phone.
  626.  
  627. Add a call to GOIDLE in RBBSSUB2.BAS as follows:
  628.  
  629. 270    IF RECYCLE.WAIT > 0 THEN _
  630.           IF TI! > INACTIVE.DELAY! THEN _
  631.              SUBROUTINE.PARAMETER = 8 : _
  632.              EXIT SUB
  633.        CALL FLUSHCOM (X$)
  634.        IF LEN(X$) > O THEN _
  635.           MODEM.RESPONSE$ = MODEM.RESPONSE$ + X$ : _
  636.           RING.DETECTED = (INSTR(MODEM.RESPONSE$,"RING") > 0) : _
  637.           CONNECT.DETECTED = (INSTR(MODEM.RESPONSE$,"ONNECT") > 0) : _
  638.           NO.CALL = (NOT RING.DETECTED) AND (NOT CONNECT.DETECTED)
  639.     CALL GOIDLE                                                      ' TF041703
  640.     WEND
  641.     IF NOT RINGBACK THEN _
  642.        IF CONNECT.DETECTED THEN _
  643.           GOTO 321
  644.     IF REQUIRED.RINGS = 0 THEN _
  645.        CALL DELAYIT (3) : _
  646.        GOTO 321
  647. '
  648. ' *****************************************************************************
  649. ' * PREPARE TO ANSWER THIS CALL ON A SPECIFIED NUMBER OF RINGS (S0 = 254) OR  *
  650. ' * THE CALL AFTER THIS CALL ON A SPECIFIED NUMBER OF RINGS (S0 = 255) --     *
  651. ' * "RING BACK."                                                              *
  652. ' *****************************************************************************
  653. '
  654.  
  655. ---------------------------------- TF041704 -----------------------------------
  656.  
  657. RBBSSUB2.BAS 04/17/88   When some modems have to answer phone at different
  658. RBBS-PC.EXE             baud rate that what opened at, trash characters
  659.                         appeared on the first name line.   Especially
  660.                         prevalent on Everex modems.
  661.  
  662. Lengthen the delay by making the following change in RBBSSUB2.BAS:
  663.  
  664. 323 SUBROUTINE.PARAMETER = -10
  665.     CALL CARRIER
  666.     IF SUBROUTINE.PARAMETER AND _
  667.        TI! < CONNECT.DELAY! THEN _
  668.        GOTO 322
  669.     IF SUBROUTINE.PARAMETER THEN _
  670.        SUBROUTINE.PARAMETER = 4 : _
  671.        EXIT SUB
  672.     CALL DELAYIT (3)                                                 ' TF041704
  673.  
  674. ---------------------------------- TF041801 -----------------------------------
  675.  
  676. RBBSSUB2.BAS 04/18/88    E will appear on 1st message without having entered
  677. RBBS-PC.EXE              it.   Characters lost when type rapidly.  When word
  678.                          wrap, first character of word lost only to reappear
  679.                          as if command on msg edit line.
  680.  
  681. All  these problems are caused by a failure to properly discharge internal stack
  682. for  the  communication  port  that RBBS-PC uses to hold keystrokes typed at the
  683. same time others are being sent.  LINEEDIT routine  was  not  reading  from  the
  684. stack built up.
  685.  
  686. Make the following changes in RBBSSUB2.BAS:
  687.  
  688. 3732 IF COMMPORT.STACK$ <> "" THEN _                                 ' TF041801
  689.         X$ = LEFT$(COMMPORT.STACK$,1) : _                            ' TF041801
  690.         COMMPORT.STACK$ = RIGHT$(COMMPORT.STACK$,LEN(COMMPORT.STACK$)-1) : _ ' TF041801
  691.         GOTO 3738                                                    ' TF041801
  692.      IF NOT EOF(3) THEN _
  693.         GOTO 3736
  694.      CALL FINDTIME (TI!)
  695.      IF TI! > AUTO.LOGOFF! THEN _
  696.         WAIT.EXPIRED = TRUE : _
  697.         EXIT SUB
  698.  
  699. 3737 CALL GETCOM (X$)
  700. 3738 SEND.REMOTE = REMOTE.ECHO                                       ' TF041801
  701.  
  702. ---------------------------------- TF041802 -----------------------------------
  703.  
  704. RBBS-PC.BAS  04/18/88    Leading and trailing blanks dropped when trying
  705. RBBS-PC.EXE              to edit a line in a message.
  706.  
  707. Make the following change in RBBS-PC.BAS:
  708.  
  709. 2620 A$ = "Line #" + _
  710.           STR$(L) + _
  711.           " is:" + _
  712.           RETURN.LINE.FEED$ + _
  713.           A$(L)
  714.      GOSUB 12977
  715.      IF NOT EXPERT.USER THEN _
  716.         CALL QTPUT ("Search & replace",1)
  717.      A$ = "Search for" + _
  718.           PRESS.ENTER.EXPERT$
  719.      PARSE.OFF = TRUE                                                ' TF041802
  720.      GOSUB 12995
  721.      IF Q = 0 THEN _
  722.         GOTO 2300
  723.      X = INSTR(B$,";")                                               ' TF041802
  724.      IF X > 0 THEN _                                                 ' TF041802
  725.         X$ = LEFT$(B$,X-1) : _                                       ' TF041802
  726.         Y$ = RIGHT$(B$,LEN(B$)-X) : _                                ' TF041802
  727.         GOTO 2660                                                    ' TF041802
  728.      X$ = B$
  729.      A$ = "And replace by"
  730.      PARSE.OFF = TRUE                                                ' TF041802
  731.      GOSUB 12995
  732.      Y$ = B$
  733.  
  734. ---------------------------------- TF041803 -----------------------------------
  735.  
  736. RBBS-PC.BAS  04/18/88    A RE)ply to a message should always be possible
  737. RBBS-PC.EXE              but sometimes RBBS-PC refuses to allow the reply
  738.                          to be made private for non-SYSOPs.
  739.  
  740. Make the following change in RBBS-PC.BAS:
  741.  
  742. 2020 IF REPLY THEN _
  743.         FOUND = TRUE : _                                             ' TF041803
  744.         GOTO 2060
  745.      SUBJECT$ = ""
  746.      A$ = "To (Press [ENTER] for All)"
  747.      CALL SKIPLINE (1)
  748.      GOSUB 12995
  749.      IF LEN(B$) > 30 THEN _
  750.         A$ = "30 Char. Max" : _
  751.         GOSUB 12979 : _
  752.         GOTO 2020
  753.  
  754. ---------------------------------- TF041901 -----------------------------------
  755.  
  756. RBBSSUB2.BAS 04/19/88    When categorizing uploads using the File Managment
  757. RBBS-PC.EXE              System (FMS), incorrect categories would occasionally
  758.                          cause problems.
  759.  
  760. Make the following change in RBBSSUB2.BAS:
  761.  
  762. 20720 A$ = "Upload best fits what category (H=help)"
  763.       SUBROUTINE.PARAMETER = 1
  764.       CALL TGET
  765.       IF SUBROUTINE.PARAMETER = -1 THEN _
  766.          B$ = DEFAULT.CATEGORY.CODE$ : _
  767.          GOTO 20722
  768.       IF Q = 0 THEN _
  769.          GOTO 20719
  770.       CALL ALLCAPS (B$(1))
  771.       IF B$(1) = "H" OR _                                            ' TF041901
  772.          B$(1) = "*" OR _                                            ' TF041901
  773.          B$(1) = "?" THEN _                                          ' TF041901
  774.          GOTO 20719
  775.       CALL CHKNARY (B$(1),CATEGORY.NAME$(),NUM.CATEGORIES,FOUND)
  776.       IF FOUND > 0 THEN _
  777.          Y$ = CATEGORY.CODE$(FOUND) : _
  778.          IF LEN(Y$) > 0 AND LEN(Y$) < 4 AND INSTR(Y$,",") = 0 THEN _
  779.             GOTO 20722
  780.       Y$ = ""
  781.       IF NOT LIMIT.SEARCH.TO.FMS THEN _
  782.          STREW.TO$ = DIRECTORY.PATH$ + _
  783.                      B$(1) + _
  784.                      "." + _
  785.                      DIRECTORY.EXTENTION$ : _
  786.          CALL FINDIT (STREW.TO$) : _
  787.          IF NOT OK THEN _
  788.             STREW.TO$ = "" _
  789.          ELSE GOTO 20722
  790.       CALL QTPUT ("No such category " + B$(1),1)
  791.       GOTO 20719
  792.  
  793. ---------------------------------- TF042001 -----------------------------------
  794.  
  795. RBBSSUB3.BAS 04/20/88    RBBS-PC would not check for graphic or color .DIR
  796. RBBS-PC.EXE              files, even if they were available and the user was
  797.                          able to view them.
  798.  
  799. Make the following change in RBBSSUB3.BAS
  800.  
  801. 58902 FILE.NAME$ = DIRECTORY.PATH$ + DIRECTORY.PREFIX$ + _           ' TF042001
  802.                     "." + DIRECTORY.EXTENTION$                       ' TF042001
  803.       GDEFAULT$ = MID$(" GC",GR + 1, 1)                              ' TF042001
  804.       CALL GRAPHIC (GDEFAULT$)                                       ' TF042001
  805.       CALL BUFFILE (FILE.NAME$)                                      ' TF042001
  806.       GOTO 58900
  807.       END SUB
  808. ---------------------------------- TF042101 -----------------------------------
  809. RBBS-PC.BAS  04/21/88  Avoid a possible conflict, by obtaining the highest user
  810. RBBS-PC.EXE            record number in only one place.
  811.  
  812. Make the following change in RBBS-PC.BAS:
  813.  
  814. 23000 GET 1,1
  815.       HIGH.MESSAGE.NUMBER = VAL(LEFT$(MESSAGE.RECORD$,8))
  816.       AUTO.ADD.SECURITY   = CVI(MID$(MESSAGE.RECORD$,9,2))
  817.       CALLS.TODATE! = VAL(MID$(MESSAGE.RECORD$,11,10))
  818.       CURRENT.USER.COUNT = VAL(MID$(MESSAGE.RECORD$,57,5))
  819. '     HIGHEST.USER.RECORD = VAL(MID$(MESSAGE.RECORD$,62,5))          ' TF042101
  820.       FIRST.MESSAGE.RECORD = VAL(MID$(MESSAGE.RECORD$,68,7))
  821.       NEXT.MESSAGE.RECORD = VAL(MID$(MESSAGE.RECORD$,75,7))
  822.       HIGHEST.MESSAGE.RECORD = VAL(MID$(MESSAGE.RECORD$,82,7))
  823.       NODES.IN.SYSTEM = VAL(MID$(MESSAGE.RECORD$,127))
  824.       IF LOCAL.USER.MODE AND NOT SYSOP THEN _
  825.          RETURN
  826.       IF NOT SYSOP AND NOT LOCAL.USER THEN _
  827.          RETURN
  828.       IF TEMP.SYSOP THEN _
  829.          RETURN
  830.       IF LAST.MESSAGE.READ < VAL(MID$(MESSAGE.RECORD$,123,4)) THEN _
  831.          LAST.MESSAGE.READ = VAL(MID$(MESSAGE.RECORD$,123,4))
  832.       LAST.MESSAGE.READ = - LAST.MESSAGE.READ * _
  833.                       (LAST.MESSAGE.READ <= HIGH.MESSAGE.NUMBER)
  834.       RETURN
  835. '
  836. ' *****************************************************************************
  837. ' *  UPDATE MESSAGE HEADER RECORD DATA                                        *
  838. ' *****************************************************************************
  839. '
  840. ---------------------------------- TF042301 -----------------------------------
  841. RBBSSUB3.BAS 04/23/88  Avoid incurring a BASIC "Error 5" due to the data in the
  842. RBBS-PC.EXE            user's record being corrupt.
  843.  
  844. Make the following change in RBBSSUB3.BAS:
  845.  
  846.       SUB COMPDATE (YY,MM,DD,RESULT!) STATIC
  847.       IF MM < 1 OR _                                                 ' TF042301
  848.          MM > 12 THEN _                                              ' TF042301
  849.          MM = 1                                                      ' TF042301
  850.       RESULT! = YY * 365.0 + _
  851.                 INT((YY - 1) / 4) + _
  852.                 (MM - 1) * 28 + _
  853.                 VAL(MID$("000303060811131619212426",(MM - 1) * 2 + 1,2)) - _
  854.                 ((MM > 2) AND ((YY MOD 4) = 0)) + _
  855.                 DD
  856.       END SUB
  857.  
  858. ---------------------------------- TF042401 -----------------------------------
  859.  
  860. RBBS-PC.BAS  04/24/88  Version ID change.
  861. RBBS-PC.EXE
  862.  
  863. Change line 105 in RBBS-PC.BAS as follows:
  864.  
  865. 105 VERSION.ID$ = "CPC16.1A with fixes through 04-24-88"             ' TF042401
  866.     XOFF$ = CHR$(19)
  867.     XON$ = CHR$(17)
  868.     INTERRUPT.ON$ = CHR$(11) + CANCEL$ + XOFF$ + XON$ + CARRIAGE.RETURN$
  869.  
  870. ---------------------------------- TF042402 -----------------------------------
  871. RBBSSUB2.BAS 04/24/88  Avoid incurring a BASIC "Device I/O Error" when viewing
  872. RBBS-PC.EXE            an ARC'ed file.
  873.  
  874. Make the following change in RBBSSUB2.BAS:
  875.  
  876. 20143 Z$ = B$(ARC.INDEX)
  877.       CALL ALLCAPS (Z$)
  878.       CALL BRKFNAME (Z$,DRV$,PREFIX$,EXT$,FALSE)
  879.       IF EXT$ = "" THEN _
  880.          Z$ = Z$ + _
  881.               ".ARC" _
  882.       ELSE IF EXT$ <> "ARC" THEN _
  883.               CALL QTPUT ("Only .ARC files can be viewed",1) : _
  884.               RETURN
  885.       FILE.NAME.HOLD$ = Z$
  886.       FILE.NAME$ = Z$
  887.       CALL BADFILE (PREFIX$,BAD.FILE.NAME.INDEX)                     ' TF042402
  888.       ON BAD.FILE.NAME.INDEX GOTO 20144,20146,20147                  ' TF042402
  889. 20144 CALL BADFILE (FILE.NAME$,BAD.FILE.NAME.INDEX)                  ' TF042402
  890.       ON BAD.FILE.NAME.INDEX GOTO 20145,20146,20147                  ' TF042402
  891. 20145 CALL ROTORSDIR (FILE.NAME$,SUBDIR$(),SUBDIR.COUNT + (NOT SYSOP)) ' TF042402
  892.       IF OK THEN _
  893.          GOTO 20148
  894.  
  895. ---------------------------------- TF042403 -----------------------------------
  896. RBBSSUB3.BAS 04/23/88  BLED can not be used with files that have an "*" as their
  897. RBBS-PC.EXE            first non-blank character (BLED assumes this is a BLED
  898.                        "comment" and deletes them when merging.
  899.  
  900. Make the following change in the subroutine EXPDATE within RBBSSUB3.BAS:
  901.  
  902.       SUB EXPDATE (REGISTRATION.DATE!,REGISTRATION.PERIOD,EXP.DATE$) STATIC
  903.       EXPIRE.DATE! = REGISTRATION.DATE! + REGISTRATION.PERIOD
  904.       EXPIRE.YEAR! = INT((EXPIRE.DATE! - EXPIRE.DATE! / 1461) / 365)
  905.       EXPIRE.DAY% = EXPIRE.DATE! - (EXPIRE.YEAR! * 365 + INT((EXPIRE.YEAR! -1)/4))
  906.       EXPIRE.MONTH% = -((EXPIRE.YEAR! MOD 4)<>0) * _
  907.                       (1 - (EXPIRE.DAY% > 31) - (EXPIRE.DAY% > 59) - _
  908.                       (EXPIRE.DAY% > 90) - (EXPIRE.DAY% >120) - _
  909.                       (EXPIRE.DAY% > 151) - (EXPIRE.DAY% > 181) - _
  910.                       (EXPIRE.DAY% > 212) - (EXPIRE.DAY% > 243) - _
  911.                       (EXPIRE.DAY% > 273) - (EXPIRE.DAY% > 304) - _
  912.                       (EXPIRE.DAY% > 334)) - ((EXPIRE.YEAR! MOD 4) = 0) * _
  913.                       (1 - (EXPIRE.DAY% > 31) - (EXPIRE.DAY% > 60) - _
  914.                       (EXPIRE.DAY% > 91) - (EXPIRE.DAY% >121) - _
  915.                       (EXPIRE.DAY% > 152) - (EXPIRE.DAY% > 182) - _
  916.                       (EXPIRE.DAY% > 213) - (EXPIRE.DAY% > 243) - _
  917.                       (EXPIRE.DAY% > 274) - (EXPIRE.DAY% > 305) - _
  918.                       (EXPIRE.DAY% > 335))
  919.       EXPIRE.DAY% = (EXPIRE.DAY% - ((EXPIRE.MONTH% - 1) * 28 + _
  920.         VAL(MID$("000303060811131619212426",(EXPIRE.MONTH% -1) * 2 + 1,2)))) + _ ' TF042403
  921.                     ((EXPIRE.MONTH% > 2) AND _
  922.                     ((EXPIRE.YEAR! MOD 4) = 0))
  923.       EXP.DATE$ = RIGHT$("0" + MID$(STR$(EXPIRE.MONTH%),2),2) + _
  924.                   "/" + _
  925.                   RIGHT$("0" + MID$(STR$(EXPIRE.DAY%),2),2) + _
  926.                   "/" + _
  927.                   RIGHT$(STR$(EXPIRE.YEAR!),2)
  928.       END SUB
  929.  
  930. ======END OF TEMPORARY FIXES FOR RBBS-PC CPC16-1A AND CONFIG VERSION 16-1A=====
  931.  
  932.